#------------------------------------------------------------------------------------------------------------------------------

#JoueurA
#
#Joueur abstraction

inherit JoueurA Abstraction
method JoueurA constructor {control id nom pere} {
	
	set this(mon_id) $id
	set this(mon_nom) $nom
	set this(pere) $pere
		
   this inherited $control 
   #TODO
}

method JoueurA edit {value} {
   #TODO
}

method JoueurA change {args} {
   #TODO
}

method JoueurA ajouterVaisseau {id_vaisseau,nom,x,y} {

	dict set this(mesvaisseaux) $id_vaisseau status "Alive"
	dict set this(mesvaisseaux) $id_vaisseau name $nom
	dict set this(mesvaisseaux) $id_vaisseau pos_x $x
	dict set this(mesvaisseaux) $id_vaisseau pos_y $y
	

	
} 

#JoueurP
#
#Joueur presentation

inherit JoueurP Presentation
method JoueurP constructor {control} {
	this inherited $control

   #TODO
}

method JoueurP edit {value} {
   #TODO
}

method JoueurP change {args} {
   #TODO
}

method JoueurP destructor {} {
   destroy $this(window)
}

#Joueur
#
#Joueur Controler

inherit Joueur Control
method Joueur constructor {parent idj nomj} {
	
	set this(JoueurA) [JoueurA ${objName}_a_idj $objName $idj $nomj $parent]
    set this(JoueurP) [JoueurP ${objName}_p_idj $objName]
	
   this inherited $parent $this(JoueurA) $this(JoueurP)
   #TODO
}

method Joueur edit {value} {
   #TODO
}

method Joueur change {args} {
   #TODO
}
